Language translation presents particular problems to the software industry. Developers must be aware of cultural nuances for multiple countries at the time of a program release. Additionally, how well the developer internationalizes and localizes the software application often determines how successful the product will be in other countries. Regardless of how close the developer translates and customizes the software product to match a particular locale, errors often remain in the translated version due to regional dialects and the like.
Commercially available translation products attempt to minimize the number of remaining errors in a translated product by using an automated or rule-based translation system. For example, translation on a concatenated word-by-word basis may help to improve the accuracy of the material. These translation products are costly and often require an expert to launch. Once the translation is complete, edits often require a total system reboot and the return of the expert.
Other message-translation systems attempt to localize the software product by identifying portions of the data that require translation. These types of systems use various techniques to localize the software, such as message translations using keyword lookups, applying language-specific data looked up from message files, and database tables pre-loaded with translated information associated with a base language to use as a reference when translating to language-specific messages. These systems generally permit software created for a single market to be revised for multiple languages by a systematic substitution of message references within the software code. Revisions can be made quickly and the translation table references are relatively easy to implement. However, these types of translations are limited to simple sub-sentence displayed messages and provide no means for end users to make adjustments for longer message prompts that often contain dynamic variables (e.g., time of day, day of week, etc.).
Another problem with translation applications is the inability to make on-the-fly local translation adjustments to the software. Typically, any adjustments made to the system require a complete shut down or restart of the programs. In a telecommunications application, even a short shut down interval results in missed telephone calls and voice messages.
Modern telecom products provide integration between the endpoint (e.g., desktop telephone or keyset), personal computer, and PBX. For example, Unified Communicator®, an integration product from Inter-Tel, Inc., permits the user to control and manage telephony functions using a personal computer or an endpoint. In this manner, the user is able to view control functions and messages on either the display of the endpoint or the computer. Thus, these types of modern telephony products must be able to support language translation in both audio (e.g., voice messages) and visual (e.g., text messages on the endpoint and/or computer displays), and preferably simultaneously.
Moreover, advanced programming systems, such as in the telecommunications industry, undergo constant updating and revisions. Language translation systems must be able to accommodate these software updates on a regular basis without requiring a complete re-translation of the program.
It is also desirable to allow multiple translations of the same program to coexist on one system. For example, the program may be available in a base language, such as English, and have multiple languages available, such as French, Spanish, Japanese and Chinese, for selection at individual endpoints.
Accordingly, an improved system and method for language translation is needed. In particular, a translation system providing an easy-to-use prompt selection that is locally customizable and available across a network is needed. Additionally, a prompt language translation system for simultaneous visual and audio translations in a telecommunications application is desired. Moreover, a language translation system that is conducive to a dynamic system, such as in a telephony messaging system with variable data and reoccurring updates, is needed.